# Distncia entre cidades

Ciudades <- c("Atenas", "Madri", "Paris", "Estocolmo")
Ciudades
Distancias <- c(0,3949,3000,3927,3949,0,1273,3188,3000,1273,0,1827,3927,3188,1827,0)
Distancias
dist.cid <- matrix (c(Distancias), nrow=4, ncol=4)
dist.cid
colnames (dist.cid)<- paste(Ciudades)
rownames (dist.cid) <- paste (Ciudades)
dist.cid
class (dist.cid)

# dataframe

Dieta1 <- (rep( c("A", "B", "C"), each=6))
Dieta1
class (Dieta1)
dieta <- as.factor (Dieta1)
class (dieta)
Cor1 <- rep ( rep (c("claro", "escuro", "claro", "escuro", "claro", "escuro"), each=3))
Cor1 
class (Cor1)
cor <- as.factor (Cor1)
class (cor)
pesos <- c(0.1,1.1,3.7,1.5,-0.1,2.0,5.7,-1.2,-1.5,0.6,-3.0,-0.3,3.0,-0.4,0.6,-0.2,0.3,1.5)
pesos
hamsters <- data.frame(dieta,cor,pesos)
class (hamsters)

# Sintetizando dados

dieta1 <- rep( c("A", "B", "C"), each=6)
dieta <- factor (dieta1)
dieta
Cor1 <- rep ( rep (c("claro", "escuro", "claro", "escuro", "claro", "escuro"), each=3))
cor <- factor (Cor1)
cor
pesos <- c(0.1,1.1,3.7,1.5,-0.1,2.0,5.7,-1.2,-1.5,0.6,-3.0,-0.3,3.0,-0.4,0.6,-0.2,0.3,1.5)
hamsters <- data.frame(dieta,cor,pesos)
hamsters
media <-mean (pesos)
media
media.por.cor <- tapply (pesos, INDEX=cor, FUN= mean)
media.por.cor
media.por.dieta <- tapply (pesos, INDEX=dieta, FUN= mean)
media.por.dieta
media.cruzada <- tapply (pesos, INDEX= list(cor,dieta), FUN= mean)
media.cruzada

# Criando uma matriz

matriz.normal <-  matrix (rnorm (n=15, mean=10, sd=sqrt (3.6)), 3, 5)
matriz.normal
class (matriz.normal)
linhas <- c("L1", "L2", "L3")
colunas <- c("C1", "C2", "C3", "C4", "C5")
rownames (matriz.normal)<- paste (linhas)
colnames (matriz.normal)<- paste (colunas)
matriz.normal
media<- apply (matriz.normal, 1, mean)
media
var <- apply (matriz.normal, 1, var)
var
linha <- data.frame (media, var)
class (linha)
media <- apply (matriz.normal, 2, mean)
media
var <- apply (matriz.normal, 2, var)
var
coluna <- data.frame (media, var)
class (colunas)

# Lendo e salvando dados

e.grandis <- read.table("egrandis.csv", header=T, sep= ";", as.is=F)
str (e.grandis)
breviarium <- summary (e.grandis)
breviarium
cont.1 <- table (e.grandis$ano)
cont.1
cont.2 <- table (e.grandis$rotacao,e.grandis$regiao)
cont.2
bofete <- e.grandis[e.grandis$regiao=="Bofete",]
bofete
write.table (bofete, file= "bofete.txt", sep= "\t")

# Classes de Objetos

search ()
ls(6)
iris
class (iris)
iris3
class (iris3)
mean.iris <- aggregate (x = iris[, 1:4], by = list(iris$Species), FUN = mean)
mean.iris
mean.iris3 <- apply (X=iris3, MARGIN= c(2,3),  FUN =mean)
mean.iris3
names (mean.iris3)<- c ("comprimento sepal","largura sepal", "comprimento ptala", "largura ptala")

# Acrescentando dados de sntese

dados.esaligna <- read.table ("esaligna.csv", header=T, sep=",", as.is=F)
dados.esaligna
str (dados.esaligna)
head (dados.esaligna)
summary (dados.esaligna)
dados.esaligna$biomassas = dados.esaligna$folha + dados.esaligna$tronco
dados.esaligna$biomassas
dados.esaligna2 <- dados.esaligna
dados.esaligna2
dados.esaligna$areabasal = (pi * dados.esaligna$dap^2)/4
dados.esaligna.fin <- dados.esaligna
dados.esaligna.fin
dados.esaligna.10cm <- subset (dados.esaligna.fin, dados.esaligna.fin$dap >10 )
dados.esaligna.10cm
area.basal <- by(dados.esaligna.10cm$areabasal,INDICES=dados.esaligna.10cm$talhao, FUN=sum)
area.basal
media.area.basal <- by (dados.esaligna.10cm$areabasal, INDICES=dados.esaligna.10cm$talhao, FUN=mean)
media.area.basal
write.table (dados.esaligna, file= "e.saligna.txt", sep= "\t")
write.table (dados.esaligna2, file= "e.saligna2.txt", sep= "\t")
write.table (dados.esaligna.fin, file= "e.saligna3.txt", sep= "\t")
write.table (dados.esaligna.10cm, file= "e.saligna4.txt", sep= "\t")